╘HE ─╔╙╦ ─╧├╘╧╥ PROGRAM WITH VERSIONS FOR THE ├OMMODORE ╓╔├-20 (OF ANY SIZE MEMORY), ├-64 AND ├-128 IS ONE OF THE MOST POWERFUL DISK UTILITIES THAT YOU WILL EVER OWN. ╔T ALLOWS YOU TO NOT ONLY VIEW BUT CHANGE ANY BYTE OF DATA STORED ON ANY OF YOUR 1540, 1541, 1570, 1571, 4040 AND COMPATIBLE DISKETTES. ╫ITH ╘HE ─╔╙╦ ─╧├╘╧╥ YOU CAN PERFORM TASKS THAT NORMALLY WOULD INVOLVE HOURS OF PROGRAMMING, ACTUALLY REPAIR "CRASHED" DISK DATA AND HAVE A LITTLE FUN ALL AT THE SAME TIME. ┬EFORE WE DO HAVE ALL THIS FUN, WE'LL HAVE TO TAKE A LOOK AT HOW ├OMMODORE HAS SET UP THE FORMAT OF THEIR DISKS. ╫E'LL LIMIT OUR DISCUSSION TO WHAT IS REFERRED TO AS THE ├OMMODORE "╟├╥" FORMAT. ╘HAT'S THE FORMAT NORMALLY USED ON 1540, 1541, 1570, 1571, 4040, ═╙─ AND SOME OTHER ├OMMODORE "WORK ALIKE" MACHINES AND DISKS. ╘HERE ARE OTHER ├OMMODORE ╟├╥ FORMATS LIKE THAT USED ON OLDER MACHINES LIKE THE 8050, 8250, ╙╞─-1001 AND EVEN A SPECIAL FORMAT FOR ├╨/═ BUT WHILE YOU CAN READ AND MODIFY THESE TYPES WITH ╘HE ─╔╙╦ ─╧├╘╧╥, WE WILL NOT REALLY DELVE TOO DEEP INTO THEM AT THIS TIME.
╔F YOU COULD SEE THE ACTUAL MAGNETIC PATTERNS ON THE DISKETTE, YOU WOULD NOTICE THAT THAT THERE ARE 35 CONCENTRIC TRACKS OF DATA ARRANGED SOMEWHAT LIKE A PHONOGRAPH RECORD EXCEPT THAT THE 35 TRACKS DO NOT LEAD INTO ONE ANOTHER. ╒NTIL RECENTLY, THE STANDARD ├OMMODORE FORMAT ONLY ALLOWED USE OF A SINGLE SIDE OF THE DISKETTE. ╘HE NEW 1571 DISK DRIVE IS ACTUALLY DOUBLE-SIDED AND CAN STORE TWICE AS MUCH INFORMATION AS A SINGLE-SIDED DRIVE BY PLACING AN ADDITIONAL 35 TRACKS ON THE OPPOSITE SIDE OF THE DISKETTE. ╔F YOU SQUINTED YOUR EYES A LITTLE HARDER YOU WOULD SEE THAT EACH TRACK IS SECTIONED OFF INTO SMALLER PIECES WHICH WE CALL SECTORS OR BLOCKS (A SECTOR IS THE SAME AS A BLOCK.) ┬ECAUSE THE OUTERMOST TRACK (TRACK #1) IS MUCH LARGER OR LONGER THAN THE INNERMOST TRACK (TRACK #35), IT CONTAINS MORE SECTORS OR BLOCKS. ╔N FACT, HERE IS HOW IT BREAKS DOWN (THE TRACK NUMBERS SHOWN IN PARENTHESIS APPLY TO THE SECOND SIDE OF DOUBLE-SIDED DISKS):
╘╥┴├╦# ╙┼├╘╧╥#╙
Ç&1-17 (36-52) 0-20 (21 ╘╧╘┴╠)
18-24 (53-59) 0-18 (19 ╘╧╘┴╠)
25-30 (60-65) 0-17 (18 ╘╧╘┴╠)
31-35 (66-70) 0-16 (17 ╘╧╘┴╠)
┼ACH SECTOR HOLDS 256 BYTES OF DATA. ╠ET'S SEE...THAT'S 17*21 + 7*19 + 6*18 + 5*17 = 683 SECTORS * 256 BYTES IN EACH SECTOR...YES THAT'S 174,848 BYTES OF STORAGE ON A SINGLE-SIDED DISKETTE (DOUBLE THAT FIGURE FOR DOUBLE SIDED DISKS.) ╘HE DRIVE NEEDS SOME OF THAT SO THE REAL "USER AVAILABLE" SPACE IS ACTUALLY SOMEWHERE AROUND 168,656 FOR SINGLE-SIDED DISKS AND 337,312 FOR DOUBLE-SIDED DISKS. ├OMPARED TO OTHER "SINGLE DENSITY" 5 1/4 INCH DISKETTE FORMATS, THIS FIGURE IS QUITE IMPRESSIVE.
╠ET'S LOOK AT THE FIRST SECTOR OF DATA, TRACK 18 AND SECTOR 0. ╘HE DISK DRIVE STARTS STORING ITS DATA HERE, IN THE MIDDLE OF THE DISKETTE, TO SPEED UP ITS OPERATION. ╔F YOU HAVE ╘HE ─╔╙╦ ─╧├╘╧╥ PROGRAM, ╠╧┴─ AND ╥╒╬ IT NOW. ┘OU DON'T NEED IT FOR THIS DISCUSSION, BUT IT SURE WILL HELP. ╚IT ANY KEY TO START UP THEN ENTER "18" FOR THE TRACK AND "0" FOR THE SECTOR. ╘HE SCREEN WILL FILL WITH WHAT LOOKS LIKE SEMI-GIBBERISH. ┘OU ARE NOW LOOKING AT A SINGLE SECTOR OF DISKETTE DATA. ╔F YOU HAVE THE ├-64 OR ├-128 VERSION OF ╘HE ─╔╙╦ ─╧├╘╧╥, A LIST OF ONE KEY COMMANDS AVAILABLE TO YOU ARE DISPLAYED ALONG WITH A SHORT DEFINITION OF EACH COMMAND. ╘HE ╓╔├-20 VERSION DISPLAYS JUST THE ONE KEY COMMANDS BECAUSE OF ITS SMALLER SCREEN, BUT PRESSING "╚" DISPLAYS A ╚┼╠╨ SCREEN IF YOU FORGET WHAT THESE COMMANDS ARE. ╫E WILL SEE HOW TO USE ALL OF THESE POWERFUL COMMANDS LATER IN THIS DISCUSSION.
┘OU ARE NOW LOOKING AT A SPECIAL SECTOR WHERE THE DRIVE STORES IT'S ┬LOCK ┴VAILABILITY ═AP (┬┴═) AND OTHER INFORMATION ABOUT THE DISKETTE. ╘HIS SECTOR IS THE FIRST SECTOR IN THE FILE THAT HOLDS THE DISKETTE'S DIRECTORY AND IS GENERALLY REFERRED TO AS THE "DIRECTORY HEADER". ╙UBSEQUENT DIRECTORY SECTORS CONTAIN THE NAMES AND OTHER DATA PERTAINING TO THE REMAINING FILES ON THE DISKETTE.
╬OTICE THAT YOUR CURSOR IS IN THE UPPER LEFT CORNER OF THE SCREEN. ╒SE THE CURSOR CONTROL KEYS TO MOVE THE CURSOR AROUND. ╘WO INDICATORS, "VALUE" AND "POSITION", WILL CHANGE AS THE CURSOR MOVES AROUND THE SCREEN. ┴S YOU MAY RECALL, EACH SECTOR CONTAINS 256 BYTES WHICH ARE NUMBERED (BY THEIR POSITION) FROM 0 TO 255. ╔F YOU TAP THE ╚╧═┼ KEY THE CURSOR'S POSITION SHOULD BE 0. ┴ "CURSOR LEFT" WILL CAUSE THE CURSOR TO "WRAP AROUND" TO THE LAST SPACE IN THE SECTOR AND SHOULD YIELD A POSITION OF 255.
╨RESS ╚╧═┼ AGAIN AND NOTICE THE VALUE OF THE BYTE IN POSITION 0. ╔T SHOULD BE 18. ╘HE VALUE OF THE BYTE IN POSITION 1 SHOULD BE 1. ╘HE FIRST TWO BYTES OF EVERY SECTOR ON THE DISK ARE "POINTERS". ╘HEY TELL THE DRIVE WHERE THE NEXT TRACK AND SECTOR OF THE DIRECTORY FILE (THE ONE WE'RE LOOKING AT NOW) IS LOCATED. ╘HE NEXT TRACK AND SECTOR IS TRACK 18, SECTOR 1. ╘HE BYTE IN POSITION 2 WILL HAVE A VALUE OF 65 WHICH IS DISPLAYED BY ╘HE ─╔╙╦ ─╧├╘╧╥ AS AN ┴. ╘HIS TELLS THE DRIVE WHICH ├OMMODORE DISK FORMAT THE DISK IS. ╔F THIS BYTE IS ANYTHING OTHER THAN AN ┴ (OR 65) THEN YOUR DRIVE WILL REFUSE WRITE TO IT. ╔T WILL READ FINE, BUT IT WILL NOT WRITE. ╘HE NEXT BYTE, #3 IS USED TO TELL A DOUBLE-SIDED DRIVE WHETHER OR NOT THE DISKETTE HAS BEEN FORMATTED AS A DOUBLE-SIDED DISKETTE. ╔F IT IS SINGLE-SIDED THE VALUE OF THE BYTE IN THIS POSITION WILL BE ZERO. ╞OR DOUBLE-SIDED, THE BYTE WILL HAVE A VALUE OF 128.
╨OSITIONS 4-143 CONTAIN THE ┬LOCK ┴VAILABILITY ═AP OR "┬┴═". ─ON'T EXPECT TO BE ABLE TO MAKE SENSE OF THE ┬┴═ BY SIMPLY VIEWING IT ON YOUR SCREEN (ALTHOUGH SOME VERSIONS OF ╘HE ─╔╙╦ ─╧├╘╧╥ TRANSLATE EACH ENTRY INTO A SMALL CHART DISPLAYED ELSEWHERE ON THE SCREEN.) ╔T IS PLACED HERE BY THE DRIVE IN THE FORM OF BINARY NUMBERS. ╘HE ┬┴═ IS LIKE A ROAD MAP FOR THE DISK DRIVE. ╔T TELLS THE DRIVE WHICH SECTORS HOLD VALID DATA AND WHICH ONES ARE FREE TO WRITE TO. ╫HEN YOU USE THE ╓┴╠╔─┴╘┼ OR ├╧╠╠┼├╘ COMMAND THE DRIVE REORGANIZES ITS ┬┴═. ─ON'T EVER TRY TO ALTER THE ┬┴═ UNLESS YOU REALLY KNOW WHAT YOU ARE DOING. ┘OU CAN REALLY MESS THINGS UP BY PLAYING AROUND HERE. ╥EMEMBER THAT ╘HE ─╔╙╦ ─╧├╘╧╥ DOES NOT COME WITH MALPRACTICE INSURANCE!
═OVE YOUR CURSOR TO POSITION 144. ╘HINGS HERE MAY LOOK A BIT FAMILIAR. ╘HAT'S RIGHT, YOU ARE LOOKING AT THE DISK'S NAME. ╘HE DISK NAME IS STORED AT POSITIONS 144-159. ┬YTES #160 AND #161 WILL BE SHIFTED SPACES (VALUE 160.) ┬YTES #162 AND #163 CONTAIN THE DISK'S ╔─ CHARACTERS. ╘HOSE ARE THE TWO CHARACTERS YOU GIVE AFTER THE DISK NAME WHEN YOU FORMAT A DISK. ┴NOTHER SHIFTED SPACE IS AT #164 AND THE NEXT TWO BYTES (165,166) CONTAIN THE ─╧╙ VERSION IDENTIFIER- 2┴. ┬YTES #167-170 HAVE SHIFTED SPACES AND #171-255 ARE ALL UNUSED AND CONTAIN VALUES OF 0, WHICH ARE DISPLAYED AS "@"'S ("AT" SIGNS) ON SINGLE-SIDED DISKS. ┬YTES #221-225 ARE USED ON DOUBLE-SIDED DISKS TO STORE THE NUMBER OF SECTORS THAT ARE "FREE" IN TRACKS 36-70. ╞OR INSTANCE, IF THE BYTE IN POSITION #221 CONTAINS VALUE OF FIVE, THAT MEANS THAT FIVE SECTORS IN TRACK 36 ARE UNUSED RIGHT NOW.
171-255 0....... ╒NUSED FOR ╙╙ DISKS BUT MAY CONTAIN OTHER VALUES.
221-255 ........ ┬LOCKS FREE FOR TRACKS 36-70 (─╙ DISKS ONLY.)
╙INCE THE ┬┴═ IN TRACK 18, SECTOR 0 CAN ONLY HOLD THE BLOCK MAP OF TRACKS 1-35, DOUBLE-SIDED DISKS MAKE USE OF SECTOR 0 ON TRACK 53 TO STORE A SECOND ┬┴═ FOR TRACKS 36-70.
╘HE NEXT TRACK AND SECTOR THAT WE NEED TO SEE IS 18,1 (FROM NOW ON, THIS IS HOW WE'LL DENOTE TRACK AND SECTOR NUMBERS.) ╘HERE ARE TWO WAYS TO VIEW THAT TRACK AND SECTOR. ╫E COULD USE THE "╙" (DIFFERENT SECTOR) COMMAND (THIS COMMAND IS "┬" FOR "BLOCK" ON SOME ─╔╙╦ ─╧├╘╧╥ VERSIONS) AND ENTER THE TRACK AND SECTOR NUMBERS OF THE SECTOR WE WANT TO GO TO, ╧╥ SINCE IT IS THE NEXT SECTOR IN OUR FILE WE CAN USE THE "╬" (NEXT SECTOR) COMMAND. ╨RESS "╬" NOW.
╘HIS IS THE FIRST SECTOR OF THE DISK'S DIRECTORY ENTRIES AND YOU SHOULD RECOGNIZE THE NAMES OF SOME OF THE FILES ON THE DISK. ┴S ALWAYS, THE NEXT TRACK AND SECTOR OF THIS FILE IS DEFINED BY BYTES #0 AND #1. ╔F THERE ARE MORE THAN 8 FILES ON YOUR DISKETTE, BYTE #0 SHOULD HAVE A VALUE OF 18 AND BYTE #1 WILL BE 4. ╘HE NEXT PART OF THE SECTOR IS DIVIDED INTO EIGHT DIFFERENT SECTIONS THAT HOLD DATA ABOUT THE FIRST EIGHT FILES ON THE DISK:
0,1..... 18,4.... ╘RACK & ╙ECTOR OF NEXT DIRECTORY SECTOR.
2-31............. ╞ILE ENTRY 1
34-63............ ╞ILE ENTRY 2
66-95............ ╞ILE ENTRY 3
98-127........... ╞ILE ENTRY 4
130-159.......... ╞ILE ENTRY 5
162-191.......... ╞ILE ENTRY 6
194-223.......... ╞ILE ENTRY 7
226-255.......... ╞ILE ENTRY 8
┘OU MAY NOTICE THAT EACH FILE ENTRY IS SEPARATED BY TWO BYTES WHICH ARE NOT USED. ╘HE CHART THAT FOLLOWS SHOWS THE BREAKDOWN FOR A ╙╔╬╟╠┼ ╞╔╠┼ ENTRY STARTING WITH THE FIRST BYTE OF THAT ENTRY. ╞OR EXAMPLE, BYTE #2 OF THE FIRST FILE ENTRY IS ACTUALLY BYTE #4 OF THE SECTOR. ╘HIS IS HOW EACH FILE ENTRY IS LAID OUT IN THIS AND ALL SUCCESSIVE DIRECTORY SECTORS:
1,2.............. ╘RACK AND SECTOR OF WHERE FILE BEGINS.
3-18............. ╞ILE NAME "PADDED" WITH SHIFTED SPACES.
19-20............ ╥┼╠ ONLY-╘&╙ OF 1ST SIDE SECTOR BLOCK.
21............... ╥┼╠ ONLY-╥ECORD SIZE.
22-25............ ╒NUSED.
26,27............ ╘&╙ OF REPLACEMENT FILE-╙┴╓┼ W/╥┼╨╠┴├┼.
28,29............ # OF SECTORS IN FILE:LOW BYTE,HIGH BYTE.
╨AY ATTENTION TO BYTE #0 IN THE FILE ENTRY. ╘HIS BYTE DEFINES WHICH TYPE THE FILE IS. ╔F THE BYTE IN THIS POSITION HAS A VALUE OF 130 THE DRIVE SEES THAT FILE AS A PROGRAM OR "╨╥╟" FILE. ╔T'S NOT OFTEN THAT YOU SEE ─┼╠ FILES. (╘HEY ARE FAIRLY UNDOCUMENTED BUT EXPERIMENTATION HAS SHOWN THAT YOU CAN ╧╨┼╬ AND READ THEM BUT IF YOU TRY TO WRITE THEM THEY TURN UP ON THE DIRECTORY AS ╙┼╤ FILES.)
╔'M SURE YOU'VE SEEN ╨╥╟ AND ╙┼╤ FILES. ┬UT WHAT ARE ╒╙╥ (USER) FILES? ╔'M GLAD YOU ASKED! ╒╙╥ FILES ARE EXACTLY THE SAME AS ╙┼╤ (SEQUENTIAL) FILES EXCEPT THAT THEY HAVE A DIFFERENT NAME. ╘HIS MAKES THEM STAND OUT WHEN YOU LIST A DIRECTORY AND REMINDS YOU THAT YOU MAY HAVE DECIDED TO DO SOMETHING A BIT DIFFERENT WITH THEM. ╧╨┼╬ING AND READING ╒╙╥ FILES REQUIRES THE SAME SYNTAX AS SEQUENTIAL FILES EXCEPT THAT THE LETTER "╒" IS SUBSTITUTED FOR THE "╙" IN THE ╧╨┼╬ COMMAND. ╫E ARE NOT GOING TO DISCUSS ╥┼╠ATIVE FILES HERE. ╘╚┴╘ SUBJECT STILL BAFFLES YOUR HUMBLE AUTHOR AND APPARENTLY SOME OF THE ├OMMODORE MANUAL WRITERS AS WELL!
═OVE YOUR CURSOR TO POSITION #2. ╘HIS IS THE FIRST BYTE (#0) OF THE FIRST FILE ENTRY OF THE DIRECTORY. ╔TS VALUE TELLS YOU WHAT TYPE OF FILE IT IS AND MOST LIKELY WILL BE 129 (SEQUENTIAL) OR 130 (PROGRAM.) ╘HE CHARACTERS THAT ╘HE ─╔╙╦ ─╧├╘╧╥ DISPLAYS FOR THESE VALUES WILL EITHER BE A REVERSED "A" OR "B". ╘HE TWO BYTES DIRECTLY FOLLOWING THE FILE TYPE TELL YOU (AND THE DRIVE) WHERE THE ACTUAL FILE IS. ╔N MOST CASES THE DISK DRIVE STORES THE FIRST FILE AT 17,0 AND THESE ARE THE VALUES YOU MAY EXPECT HERE. ╔F YOU THINK YOU KNOW HOW TO USE THE "╙" (NEW SECTOR) COMMAND WE'LL LEARN A NEW COMMAND. ╨LACE THE CURSOR IN POSITION #3. ╬OW YOU CAN USE THE "╩" (JUMP TO LINK UNDER CURSOR) COMMAND. ╘HIS CAUSES ╘HE ─╔╙╦ ─╧├╘╧╥ TO SEARCH FOR AND DISPLAY THE TRACK AND SECTOR THAT THE CURSOR IS INDICATING. ╔F YOU DON'T HAVE THE CURSOR PLACED CORRECTLY, YOU WILL PROBABLY BE SPECIFYING AN ILLEGAL SECTOR AND ╘HE ─╔╙╦ ─╧├╘╧╥ WILL TELL YOU. ╔F THIS HAS HAPPENED, YOU CAN JUST INPUT NEW TRACK AND SECTOR NUMBERS...GO BACK TO 18,1 AND TRY IT AGAIN.
╙INCE IT IS VERY LIKELY THAT YOU ARE NOW LOOKING AT 17,0 AND IT IS ALSO A PROGRAM FILE WE'LL COVER THAT NEXT. ┬UT BEFORE WE LOOK AT THE FILE, HIT THE "+" KEY. ╘HIS COMMAND TELLS ╘HE ─╔╙╦ ─╧├╘╧╥ TO GO TO THE NEXT SECTOR ON THE CURRENT TRACK, ╬╧╘ THE NEXT SECTOR IN THE FILE. ┘OU WILL BE LOOKING AT 17,1 NOW. ╔T MAY NOT EVEN CONTAIN ANY DATA FROM THE FILE YOU JUST LEFT. ╘O GET BACK TO 17,0 JUST HIT THE "-" KEY WHICH DOES JUST THE OPPOSITE OF THE "+" COMMAND.
┘OU MIGHT BE SAYING TO YOURSELF, "╚EY, THIS DOESN'T LOOK LIKE A PROGRAM! ╫HERE ARE THE ╨╥╔╬╘S, ╨╧╦┼S, ╨┼┼╦S AND ╥┼═S?". ╫ELL, THEY ARE ALL STILL THERE BUT HAVE BEEN "TOKENIZED" INTO ONE OR TWO BYTE VALUES. ┘OUR ├OMMODORE COMPUTER STORES THE ┬┴╙╔├ KEYWORDS IN THIS MANNER TO SAVE MEMORY AND SPEED EXECUTION. ╫HEN YOU ╠╔╙╘, THE COMPUTER TRANSLATES THESE TOKENS FOR YOU SO IT IS EASIER TO READ BUT ALL ┬┴╙╔├ KEYWORDS AND SOME OPERATORS ARE STORED USING ONLY ONE OR TWO BYTES.
┴T THIS POINT, YOU MAY WANT TO LOOK AT A ┬┴╙╔├ PROGRAM THAT YOU ARE FAMILIAR WITH, PERHAPS ONE THAT YOU HAVE WRITTEN YOURSELF. ╒SE THE "╤" (QUIT) COMMAND AND REMOVE YOUR DISKETTE. ┬ECAUSE WE WILL ACTUALLY BE RE-WRITING INFORMATION TO YOUR DISKETTE, YOU WILL WANT TO USE A SPARE THAT IS EXPENDABLE. ╔N FACT, YOU SHOULD SIMPLY MAKE A BACK-UP COPY OF A DISK YOU USE ALL THE TIME SO THINGS LOOK FAMILIAR.
╧NCE THE PRACTICE DISKETTE IS IN THE DRIVE, HIT ANY KEY. ╞IND THE PROGRAM YOU WANT TO LOOK AT BY STARTING WITH TRACK 18 AND SECTOR 1 (THE DIRECTORY.) ╒SE THE "╬" COMMAND TO ADVANCE TO SUBSEQUENT SECTORS IN THE DIRECTORY UNTIL YOU SEE YOUR PROGRAM. ╨OSITION YOUR CURSOR AT BYTE #1 (THE SECOND BYTE) OF THE ╞╔╠┼ ┼╬╘╥┘ FOR THAT FILE (TWO BYTES DIRECTLY BEFORE THE PROGRAM NAME IS WHERE YOU WANT TO BE.) ╘HE "╩" COMMAND SHOULD TAKE YOU TO THE FIRST TRACK AND SECTOR WHERE YOUR PROGRAM IS LOCATED.
╔F YOU NOW SEE SOMETHING THAT VAGUELY RESEMBLES THE PROGRAM YOU WERE LOOKING FOR, GREAT! ╨RESS THE ╚╧═┼ KEY AND WE'LL TAKE A LOOK AT YOUR PROGRAM. ╨ROGRAM FILES ARE FORMATTED LIKE THIS:
2,3.............. ╠OAD ADDRESS IN LOW BYTE, HIGH BYTE
FORMAT (ONLY ON FIRST SECTOR OF FILE.)
├-64 IS USUALLY 1,8 OR 1+(8*256)=2049
4,5.............. ╠OW BYTE, HIGH BYTE NUMBER IDENTIFYING
THE ADDRESS OF THE NEXT ┬┴╙╔├ LINE.
6,7.............. ╞IRST ┬┴╙╔├ LINE NUMBER IN ╠┬,╚┬
8-255............ ╥EST OF DATA WITH KEYWORDS TOKENIZED.
╘HREE ZERO BYTES MARK THE END OF A
PROGRAM AND USUALLY THE FILE AS WELL.
┴S USUAL, THE FIRST TWO BYTES CONTAIN THE TRACK AND SECTOR OF THE NEXT SECTOR OF DATA. ╘HE NEXT TWO BYTES MAY SEEM A BIT UNUSUAL TO YOU AND YOU MIGHT WANT TO GET OUT A CALCULATOR 'CAUSE AS MUCH AS ╔ HATE TO SAY IT, WE'RE GOING TO DO SOME (YES THAT DREADED WORD) ═┴╘╚. ╞OR SOME REASON, COMPUTERS OFTEN STORE NUMBERS A LITTLE BACKWARDS (AS FAR AS HUMANS ARE CONCERNED.) ╘HE CLASSIC CASE IS WHEN NUMBERS ARE EXPRESSED IN THE ╠╧╫ ┬┘╘┼, ╚╔╟╚ ┬┘╘┼ FORMAT. ╙INCE EACH BYTE CAN ONLY STORE VALUES 0-255 (256 UNIQUE VALUES TOTAL), IF YOU NEED TO EXPRESS A LARGER NUMBER, YOU MUST USE MORE THAN JUST ONE BYTE. ╘WO BYTES WORK WELL BECAUSE YOU CAN EXPRESS UP TO 65536 (OR 256*256) DIFFERENT VALUES. ┬UT THIS IS WHERE THE COMPUTER GOES BACKWARDS. ╘O FIND THE NUMBER SPECIFIED IN THE LOW BYTE, HIGH BYTE FORMAT, YOU MULTIPLY THE ╙┼├╧╬─ VALUE IN THE PAIR BY 256 THEN ADD THAT RESULT TO THE ╞╔╥╙╘ VALUE. ╬OW HOW IS THAT? ╚ERE'S AN EQUATION:
Ç*CY
╪ = (╓┴╠╒┼2 * 256) + ╓┴╠╒┼1
Ç*CN
╔F YOU'RE A BIT UNEASY ABOUT THIS, DON'T WORRY, YOU ARE NOT ALONE. ╫HENEVER WE TALK ABOUT "LOW BYTE, HIGH BYTE" NUMBERS, JUST USE THIS EQUATION AND YOU'LL BE OKAY.
┬YTES #2 AND #3 IN THE FIRST SECTOR OF A PROGRAM FILE ALWAYS CONTAIN THE "LOAD ADDRESS" OF THE PROGRAM. ╘HIS TELLS THE COMPUTER WHERE IN THE COMPUTER'S MEMORY TO PUT THE PROGRAM. ╔F YOU ARE LOOKING AT A NORMAL ┬┴╙╔├ PROGRAM THIS LOW BYTE, HIGH BYTE NUMBER SHOULD EQUAL THE "START OF ┬┴╙╔├" LOCATION OF YOUR COMPUTER (THE ACTUAL START OF ┬┴╙╔├ ON ├OMMODORE MACHINES IS ONE LOCATION LOWER THAN THE VALUES SHOWN, BUT SINCE THAT BYTE ALWAYS CONTAINS A ZERO VALUE WE DO NOT CONSIDER IT HERE.) ╘HE FOLLOWING TABLE SHOWS THE START OF ┬┴╙╔├ LOCATIONS FOR ├OMMODORE MACHINES IN DECIMAL AND LOW BYTE, HIGH BYTE VALUES:
16385... 1,64..... ├OMMODORE-128 (IN GRAPHIC MODE)
4097... 1,16..... ╓╔├-20 - UNEXPANDED
1025... 1,4...... ╓╔├-20 - 3╦ EXPANSION
4609... 1,18..... ╓╔├-20 - 8╦ OR MORE EXPANSION
1025... 1,4...... ╨┼╘/├┬═ SERIES.
╔F YOU OWN AN UNEXPANDED ╓╔├-20 THE BYTES IN POSITIONS #2 AND #3 SHOULD CONTAIN A 1 AND 16 RESPECTIVELY...1+(16*256)=4097. ╘HE START OF ├-128 ┬┴╙╔├ WILL VARY DEPENDING ON WHETHER THE PROGRAM WAS SAVED WHILE IN HI-RES GRAPHIC MODE OR NOT. ╔N ALL CASES, THE LOAD ADDRESS APPEARS ONLY ON THE FIRST SECTOR/BLOCK OF THE FILE.
╘HE NEXT TWO BYTES (#4 AND #5) IN A ┬┴╙╔├ PROGRAM FILE CONTAIN THE MEMORY LOCATION WHERE THE NEXT (NOT THE FIRST) ┬┴╙╔├ LINE IS STORED IN MEMORY. ┴FTER THAT, #6 AND #7 CONTAIN THE FIRST ┬┴╙╔├ LINE NUMBER (AGAIN IN ╠┬, ╚┬.)
╧UR ACTUAL PROGRAM TEXT BEGINS AT BYTE #8. ╘HE VALUE STORED THERE WILL MORE THAN LIKELY BE A ┬┴╙╔├ KEYWORD WHICH HAS BEEN "TOKENIZED". ╥EMEMBER THAT ┬┴╙╔├ REDUCES ALL OF ITS KEYWORDS TO ONE OR TWO BYTE TOKENS. ┘OU MAY HAVE A HARD TIME FIGURING OUT WHAT KEYWORD A REVERSED "Y" STANDS FOR. ╬EWER ├-64 AND ├-128 VERSIONS OF ╘HE ─╔╙╦ ─╧├╘╧╥ DISPLAY THE ┬┴╙╔├ KEYWORD CORRESPONDING THE TOKEN OR TOKEN PAIR UNDER THE CURSOR. ╔F YOU ARE USING A SIMPLER VERSION, YOU MAY WANT TO LOOK IN YOUR COMPUTER'S PROGRAMMER'S REFERENCE GUIDE FOR A CHART OF WHICH KEYWORDS ARE REPRESENTED BY WHICH TOKEN VALUES. ┴CTUALLY, A REVERSED "Y" HAS A VALUE OF 153 AND IS THE TOKEN FOR THE ┬┴╙╔├ KEYWORD ╨╥╔╬╘. ┘OU MIGHT SEE A REVERSED "O" (VALUE-143) NEAR THE BEGINNING OF YOUR PROGRAM. ╘HIS IS THE TOKEN FOR ╥┼═.
╙OME OTHER CHARACTERS WHICH ARE NOT ┬┴╙╔├ TOKENS MAY SHOW UP AS WELL. ┴ COLOR COMMAND, SUCH AS 'SWITCH TO BLACK' WITHIN A ╨╥╔╬╘ STATEMENT WILL PRODUCE A REVERSED "P" AND HAS A VALUE OF 144, BUT THAT IS THE SAME CHARACTER/TOKEN VALUE USED FOR THE ╙╘╧╨ KEYWORD. ╚OW DOES THE COMPUTER KNOW THAT IT MEANS 'SWITCH TO BLACK' AND NOT ╙╘╧╨? ┬ECAUSE IT IS IN QUOTES. ┴NYTHING AFTER AN ╧── ╬╒═┬┼╥ OF QUOTES IS NOT CONSIDERED AS A ┬┴╙╔├ KEYWORD, BUT AS TEXT OR SPECIAL ╨╥╔╬╘ COMMANDS BY THE COMPUTER. ┴NY VALUE NOT IN THE COMPUTER'S LIST FOR KEYWORDS IS ALSO NOT CONSIDERED.
╫HILE VIEWING A PROGRAM FILE YOU WILL SURELY SEE A NUMBER OF BYTES WHICH CONTAIN ZERO VALUES (DISPLAYED AS "@"'S.) ╘HE END OF EVERY ┬┴╙╔├ LINE IS DESIGNATED BY A ZERO BYTE. ╔F YOU SEE THREE ZERO BYTES IN A ROW, THAT TELLS THE COMPUTER WHERE THE END OF THE ┬┴╙╔├ PROGRAM IS LOCATED.
╨RESS THE "╬" KEY UNTIL YOU FIND THE END OF THE FILE. ╔T SHOULD BE EASY TO SPOT BECAUSE BYTE #0 OF THE SECTOR WILL HAVE A VALUE OF ZERO (REMEMBER THIS IS THE POINTER TO THE NEXT TRACK, AND SINCE THERE IS NO NEXT TRACK...OH, YOU GET THE IDEA.) ┬UT TAKE A GLANCE AT BYTE #1. ╘HIS IS NOW THE POINTER TO THE POSITION OF THE ╠┴╙╘ ┬┘╘┼ IN THIS SECTOR. ╘HIS IS THE SAME METHOD USED IN ALL FILE TYPES TO SPECIFY THE LAST BYTE IN THE LAST SECTOR.
╘HE NEXT TWO FILE TYPES THAT WE WILL LOOK AT ARE REALLY EASY! ╙EQUENTIAL AND ╒SER FILES, WHICH SHARE IDENTICAL FORMATS, ARE VERY STRAIGHTFORWARD. ╔F YOU HAVE ANY ╙┼╤ FILES ON YOUR DISK, TAKE A LOOK AT ONE NOW. ╒NLESS THE PROGRAMMER WAS DOING TRICKY THINGS, YOU SHOULD BE ABLE TO READ ALL THE INFORMATION FROM THE FILE JUST WITH ╘HE ─╔╙╦ ─╧├╘╧╥. ╘HE ONLY "WEIRD" CHARACTERS THAT YOU SHOULD COME ACROSS ARE THE "SEPARATORS" WHICH ARE USUALLY NOTHING BUT CARRIAGE RETURNS--├╚╥$(13). ╘HESE ARE DISPLAYED AS LOWER-CASE "M"'S AND SEPARATE THE DATA.
2-256............ ─ATA STORAGE. ╘EXT AND NUMERIC VALUES
USUALLY SEPARATED BY ├╚╥$(13)
(DISPLAYED AS "M".)
╘HE TIME HAS COME TO LOOK AT SOME OF THE MORE POWERFUL THINGS THAT ╘HE ─╔╙╦ ─╧├╘╧╥ LETS YOU DO. ╒P UNTIL NOW, ALL WE'VE REALLY DONE IS ╓╔┼╫┼─ THE DISKETTE. ╠ET'S TAKE A STAB AT ALTERING IT. ╧NCE AGAIN, ╔'D LIKE TO REMIND YOU TO MAKE SURE THAT THE DISKETTE YOU ARE WORKING WITH IS A COPY OF ANOTHER ONE OF YOUR DISKETTES OR CONTAINS NOTHING OF ANY VALUE TO YOU. ╫E WON'T PHYSICALLY HARM THE DISKETTE OR DRIVE IN ANY WAY, BUT IF AN ERROR IS MADE IT COULD REALLY FOUL SOME OF YOUR FILES!
╘HE ─╔╙╦ ─╧├╘╧╥ IS A LITTLE LIKE A WORD PROCESSOR; YOU CAN ACTUALLY TYPE RIGHT ONTO THE SCREEN BY USING THE "╘" (TEXT MODE) COMMAND. ┴FTER PRESSING "╘" EVERYTHING YOU TYPE WILL APPEAR ON ╘HE ─╔╙╦ ─╧├╘╧╥'S SCREEN AND LATER MAY BE WRITTEN RIGHT TO THE DISKETTE. ╨RESSING ╥┼╘╒╥╬ ENDS TEXT MODE.
╙INCE YOU CANNOT TYPE SOME CHARACTERS OR VALUES DIRECTLY FROM THE KEYBOARD OR YOU SIMPLY MAY WANT TO ASSIGN A CERTAIN VALUE TO A CERTAIN BYTE, YOU MAY USE THE "@" (CHANGE BYTE) COMMAND. ╚IT THE "@" KEY AND YOU MAY ENTER ANY NUMBER FROM 0-255 AND THAT VALUE WILL BE ASSIGNED TO THE CURRENT BYTE WHEN YOU PRESS ╥┼╘╒╥╬. ╬EWER VERSIONS OF ╘HE ─╔╙╦ ─╧├╘╧╥ WILL LET YOU ENTER ╚┼╪ VALUES IF YOU PRECEDE THE NUMBER WITH A "$" (DOLLAR SIGN.)
├ALL UP ANY SECTOR (STAY OUT OF THE DIRECTORY FOR NOW) ON YOUR PRACTICE DISKETTE AND TRY OUT THE THE CHANGING FEATURES FOR YOURSELF. ┴NY CHANGES YOU MAKE AT THIS POINT ARE ╬╧╘ ACTUALLY MADE TO THE DISKETTE. ┘OU ═╒╙╘ ISSUE THE "╥" (REWRITE CURRENT SECTOR) COMMAND FOR THE INFORMATION TO BE PLACED IN THAT SECTOR OF THE DISKETTE. ┬ECAUSE YOU MAY NOT WISH TO CHANGE THE SECTOR, YOU WILL BE PROMPTED WITH "┴RE YOU SURE?" WHENEVER YOU USE THE "╥" COMMAND. ╟O AHEAD AND REWRITE THE SECTOR YOU ARE WORKING WITH. ╥EMEMBER THE TRACK AND SECTOR NUMBERS SO THAT YOU CAN CALL IT UP LATER TO SEE THAT THE CHANGES WERE ACTUALLY MADE.
╬OW WE ARE GOING TO LOOK AT SOME USEFUL THINGS THAT YOU AND ╘HE ─╔╙╦ ─╧├╘╧╥ CAN ACCOMPLISH. ├ALL UP TRACK 18, SECTOR 0. ╫ANT TO CHANGE THE NAME OF YOUR DISKETTE? ╙IMPLY MOVE THE CURSOR TO POSITION #144 , PRESS "╘" FOR TEXT MODE, TYPE THE NEW NAME (LESS THAN 16 CHARACTERS), PRESS ╥┼╘╒╥╬ AND THEN "╥" TO REWRITE THE SECTOR. ┴NSWER "┘" (FOR "YES") WHEN THE PROGRAM ASKS, "┴RE ┘OU ╙URE?". ─ONE! ╠OAD THE DIRECTORY BY TYPING- ╠╧┴─"$",8 -THEN ╠╔╙╘ AND SEE FOR YOURSELF THAT THE DISK NOW HAS A NEW NAME!
╘RY CHANGING THE NAME OF THE DISKETTE TO INCLUDE NOT JUST TEXT WHICH YOU'VE TYPED IN, BUT A FEW DIFFERENT VALUES THAT YOU CAN CREATE WITH THE "@" COMMAND. IF YOU MAKE THE FIRST TWO BYTES OF THE NAME FIELD 13 AND 147 FOLLOWED BY TEXT, WHENEVER YOU ╠╔╙╘ THE DIRECTORY, THE SCREEN WILL CLEAR FIRST...AUTOMATICALLY!
╫HEN YOU ╠╧┴─ THE DIRECTORY OF YOUR DISKETTE, THE DRIVE SENDS THE DATA TO THE COMPUTER IN SOMEWHAT THE SAME FORMAT AS A ┬┴╙╔├ PROGRAM. ╘HIS IS WHY YOU CAN ╠╔╙╘ IT. ╔F THE DISK NAME CONTAINS ANY VALUE THAT CORRESPONDS TO A ┬┴╙╔├ KEYWORD, THE DISKETTE NAME WILL DISPLAY THAT KEYWORD. ╘HIS WOULD ALLOW YOU TO HAVE DISK NAMES WHICH EXCEED THE STANDARD 16 CHARACTER LIMIT. ╞OR EXAMPLE TRY THIS DISK NAME (THE NUMBERS STAND FOR ┬┘╘┼ ╓┴╠╒┼╙, USE THE "@" COMMAND TO ENTER THEM. ─ON'T FORGET THE "╥" COMMAND TO PUT YOUR CHANGES ON THE DISKETTE.)
╘HE NEW DISK NAME BECOMES, "╥┼╙╘╧╥┼ ╬┼╫ ╞╥┼┼─╧═ ╘╧ ┴╠╠", A FULL 26 CHARACTERS! ┘OU HAVE PROBABLY FIGURED OUT THAT SOME OF THE VALUES YOU ENTERED ARE THE CODES FOR ┬┴╙╔├ KEYWORDS. ┘OU CAN PREVENT THE DIRECTORY FROM ╠╔╙╘ING ENTIRELY BY ENTERING ALL ZERO VALUES IN THE DISK NAME.
┬YTES #162-#166 CAN ALSO BE ALTERED TO DISPLAY DIFFERENT THINGS WHEN YOU ╠╔╙╘ A DIRECTORY. ╙TART WITH POSITION #162 AND ENTER THIS SEQUENCE OF VALUES WITH THE "@" COMMAND:
╘O SEE HOW THIS WORKS YOU MUST ACTUALLY ╠╧┴─ THE DIRECTORY. ╒SING THE ─╧╙ ╫┼─╟┼ "@$" COMMAND WON'T SHOW THESE "TOKEN BYTE" EFFECTS SINCE THE ╫┼─╟┼ DOES NOT TREAT THE THE DIRECTORY STRICTLY AS A ┬┴╙╔├ PROGRAM.
┬YTES #171-#220 ARE COMPLETELY UNUSED BY THE DRIVE, SO YOU CAN PUT ANYTHING YOU WANT THERE SUCH AS YOUR NAME AND ADDRESS OR A SECRET MESSAGE. ╘HIS SPACE MAY BE RE-WRITTEN BY THE DRIVE ON OCCASION, SO DON'T PUT ANYTHING IMPORTANT HERE.
┘OU CAN "WRITE PROTECT" YOUR DISKETTES BY SIMPLY CHANGING THE BYTE IN POSITION #2 OF 18,0. ╘HE VALUE OF THAT BYTE IS NORMALLY 65 (DISPLAYED AS AN "┴"), BUT IF YOU CHANGE IT TO ANYTHING ELSE, YOUR DRIVE WILL REFUSE TO WRITE TO THE DISKETTE UNTIL YOU ╬┼╫ OR ╚┼┴─┼╥ (REFORMAT) IT WHICH, OF COURSE, DESTROYS ALL THE DATA. ╧NCE YOU CHANGE THIS BYTE DON'T EXPECT TO CHANGE IT BACK (OR ANYTHING ELSE ON THE DISKETTE FOR THAT MATTER.) ╘HE CHANGE IS PERMANENT.
╒SE THE "╬" COMMAND TO GO TO THE FIRST DIRECTORY SECTOR. ╘HE MOST USEFUL BYTES IN THIS SECTOR (AND SUBSEQUENT DIRECTORY SECTORS) ARE THE "FILE TYPE" BYTES WHICH ARE THE FIRST BYTE OF EVERY FILE ENTRY. ┴S YOU MAY RECALL, THIS BYTE IDENTIFIES THE TYPE OF FILE THAT THE ENTRY IS. ╙OME WORD PROCESSORS WILL ONLY READ A CERTAIN TYPE OF FILE. ╔F YOU WANT TO READ A ╨╥╟ FILE AND YOUR PROGRAM WILL ONLY ACCEPT ╙┼╤ FILES, SIMPLY CHANGE THE FILE TYPE. ╫ITH ╘HE ─╔╙╦ ─╧├╘╧╥ YOU CAN CHANGE ╙┼╤ FILES TO ╨╥╟ FILES OR CHANGE ANY OTHER TYPE TO ANY TYPE YOU WANT.
╫HEN A FILE IS SCRATCHED THE FILE TYPE BYTE IS CHANGED BY THE DRIVE TO ZERO. ╔F YOU HAVE JUST ACCIDENTALLY SCRATCHED A FILE YOU DO NOT WANT SCRATCHED, IT IS SIMPLE TO RESCUE IT WITH ╘HE ─╔╙╦ ─╧├╘╧╥ AS LONG AS NO NEW FILES HAVE BEEN WRITTEN TO THE DISKETTE. ┴LL THAT NEEDS TO BE DONE IS TO CHANGE THE FILE TYPE BYTE FROM ZERO TO WHATEVER VALUE THE FILE SHOULD BE WITH THE "@" COMMAND (I.E. 130 FOR A PROGRAM FILE, 129 FOR A SEQUENTIAL FILE.) ┘OU MUST ╓┴╠╔─┴╘┼ OR ├╧╠╠┼├╘ THE DISKETTE AFTER THIS OPERATION SO THE ┬┴═ WILL BE UPDATED. ╘╚╔╙ ╔╙ ╓┼╥┘ ╔═╨╧╥╘┴╬╘! ╘HE ┬┴═ STILL THINKS THE FILE HAS BEEN SCRATCHED AND THAT THOSE SECTORS ARE FREE AND WILL REWRITE THEM WITH ANY NEW FILE.
╔T IS POSSIBLE TO AVOID THE ABOVE PROBLEM BY "SCRATCH PROTECTING" SELECTED FILES ON THE DISKETTE. ╔F YOU CHANGE THE VALUE STORED IN THE FILE TYPE BYTE, TO THAT VALUE PLUS 64, THE DRIVE WILL REFUSE TO SCRATCH THAT FILE. ╞OR EXAMPLE, IF THE FILE IS A ╨╥╟ (VALUE:130), CHANGE THE BYTE TO 194 (130+64) TO PROTECT IT. ╘HIS IS A VERY NICE FEATURE ESPECIALLY IF YOU EVER USE "PATTERN MATCHING" IN YOUR SCRATCH COMMANDS. ╙CRATCH PROTECTED FILES ARE EASY TO SPOT WHEN YOU ╠╔╙╘ THE DIRECTORY (OR USE THE ─╧╙ "@$" COMMAND), A "<" (LESS THAN) SYMBOL WILL BE DISPLAYED DIRECTLY TO THE RIGHT OF THE FILE TYPE. ╬OTE THAT THIS FEATURE IS NOT USABLE WITH DOUBLE-SIDED DISKS--THE 1571 NOT ONLY WILL REFUSE TO SCRATCH A "PROTECTED" FILE, IT WON'T ╠╧┴─ IT EITHER (WHILE IN DOUBLE-SIDED MODE.)
╙OME OF YOU MAY HAVE HEARD THAT THERE IS A PROBLEM WITH THE ├OMMODORE 1541 AND 1571 ╙┴╓┼ AND ╥┼╨╠┴├┼ COMMAND. ╘HE PROBLEM IS THAT OCCASIONALLY THE FILE POINTERS (BYTES #1 AND #2 OF THE FILE ENTRY) ARE NOT PROPERLY WRITTEN. ╘HE RESULT IS THAT YOU TRY TO ╠╧┴─ "MAIL LIST" BUT "MUTANT ALIENS" SHOWS UP IN YOUR COMPUTER. ╔T IS POSSIBLE WITH ╘HE ─╔╙╦ ─╧├╘╧╥ TO CURE THIS PROBLEM BY SEARCHING THROUGH THE DISKETTE FOR THE ORIGINAL FILE (WHICH IS EASIER SAID THAN DONE), NOTING THE TRACK AND SECTOR OF WHERE IT STARTS, AND REWRITING THE POINTERS IN THE FILE ENTRY. ╧FTEN, IT IS TOO LATE AND OTHER DATA HAS BEEN WRITTEN INTO THE OLD SECTORS. ╔F YOU DO SUCCESSFULLY REWRITE THE POINTERS YOU SHOULD RE╙┴╓┼ THE FILE SOMEWHERE ELSE SO THAT ┴╠╠ THE DATA IS PUT WHERE THE DISK DRIVE WANTS IT. ┴GAIN, IT IS RECOMMENDED THAT YOU PERFORM A VALIDATE OPERATION TO UPDATE THE ┬┴═ SHOULD YOU SUCCESSFULLY REWRITE THE POINTERS.
╔F YOU WANT TO TEMPORARILY PROTECT FILES ON YOUR DISKETTE FROM BEING ╠╧┴─ED, VIEWED OR OTHERWISE TAMPERED WITH, YOU CAN CHANGE BYTE #0 OF TRACK AND SECTOR 18,1 TO A VALUE OF ZERO. ╘HE DRIVE WILL THINK THAT THE DIRECTORY IS ONLY ONE SECTOR LONG AND WILL REFUSE ACCESS TO ANY FILES BEYOND THE FIRST EIGHT. ╘HE FILES YOU WANT PROTECTED SHOULD NOT APPEAR IN THE FIRST DIRECTORY SECTOR. ╥EMEMBER THAT EVEN ┘╧╒ WILL NOT BE ABLE TO GET TO THE FILE UNTIL BYTE #0 OF 18,0 IS CHANGED BACK TO 18. ─O NOT PERFORM A ╓┴╠╔─┴╘┼ COMMAND AS THE ┬┴═ WILL THINK THAT ALL THE PROTECTED FILES DO NOT EXIST. ┴LSO, DON'T ╙┴╓┼ ANY NEW FILES AS THE REST OF YOUR DIRECTORY MIGHT BE DESTROYED.
┴NOTHER METHOD OF PROTECTING FILES FROM BEING ╠╧┴─ED IS TO CHANGE THE NAME OF THE FILE TO A SERIES OF ├╚╥$ CODES WHICH CANNOT NORMALLY BE TYPED IN FROM THE KEYBOARD. ╧NE EXAMPLE WOULD BE TO CHANGE THE FILE NAME TO A CARRIAGE RETURN (VALUE: 13) BY USING THE "@" COMMAND. ╫HEN ┘╧╒ WANT TO ╠╧┴─ THE FILE, JUST TYPE ╠╧┴─├╚╥$(13),8 (OR ANY OTHER VALUE NOT EASY TO TYPE FROM THE KEYBOARD.)
╘AKE A LOOK AT BYTES #28 AND 29 OF A ╙╔╬╟╠┼ DIRECTORY ENTRY (REMEMBER THE FILE TYPE BYTE IS #0.) ╘HIS IS WHERE THE DISK DRIVE STORES THE NUMBER OF SECTORS THAT THE FILE OCCUPIES IN ╠┬,╚┬ FORMAT. ╙INCE ONE RARELY SEES A FILE THAT TAKES UP MORE THAN 255 SECTORS, BYTE #29 WILL PROBABLY CONTAIN A VALUE OF ZERO. ┬Y ALTERING THESE TWO VALUES YOU CAN MAKE SOME PRETTY ODD FILE SIZES SHOW UP WHEN SOMEONE VIEWS THE DIRECTORY. ├HANGING BOTH BYTES TO ZERO VALUES WILL MAKE IT SEEM THAT THE FILE OCCUPIES ZERO SECTORS. ╟IVE BYTE #28 A VALUE OF 15 AND BYTE #29 A VALUE OF 39 AND THAT FILE WILL BE DISPLAYED AS HAVING 9999 SECTORS IN IT!
├HANGING THE DATA STORED IN ACTUAL FILES IS A FAIRLY STRAIGHTFORWARD OPERATION. ╙OME ┬┴╙╔├ PROGRAMS ARE "COMPACTED" WHICH MAKES EDITING SOME LINES IMPOSSIBLE WITH THE ├OMMODORE SCREEN EDITOR. ╫ITH ╘HE ─╔╙╦ ─╧├╘╧╥ YOU CAN CHANGE THE LINE RIGHT ON THE DISKETTE WITHOUT EVER ╠╧┴─ING THE PROGRAM INTO MEMORY. ╔N FACT, IF YOU HAVE THE ORIGINAL ─╔╙╦ ─╧├╘╧╥ PROGRAM, YOU KNOW THAT COMPANY WHO RELEASED IT INTO THE PUBLIC DOMAIN MADE IT VERY HARD TO ALTER AND BUILT ADVERTISING INTO IT. ┘OU CAN USE ╘HE ─╔╙╦ ─╧├╘╧╥ TO ERASE ALL THAT ADVERTISING AND MAY EVEN BE ABLE TO DELETE THE OFFENDING LINES.
╔F YOU HAVE A FAVORITE MACHINE LANGUAGE UTILITY OR GAME, IT MAY BE FUN TO CHANGE ITS PROMPTS OR TEXT. ╟ENERALLY YOU HAVE TO HAVE A FAIRLY GOOD KNOWLEDGE OF HOW TO USE A MACHINE LANGUAGE MONITOR TO DO THIS BUT IT IS SIMPLE WHEN YOU HAVE ╘HE ─╔╙╦ ─╧├╘╧╥. ╩UST GO THROUGH THE FILE AND CHANGE THE TEXT TO ANYTHING YOU WANT. ╔T IS USUALLY IMPORTANT TO KEEP THE TEXT THE SAME LENGTH AS THE ORIGINAL. ╔MAGINE SOMETHING LIKE "╩UMPMAN" IN ╙PANISH OR ╞RENCH!
╔ HAVE ONLY TOUCHED ON A FEW POSSIBLE USES FOR ╘HE ─╔╙╦ ─╧├╘╧╥. ┴FTER YOU HAVE WORKED WITH IT FOR SOME TIME, ╔'M SURE YOU'LL FIND MANY MORE.